package com.qigao.mall.api;

import com.github.pagehelper.PageInfo;
import com.qigao.mall.commons.dto.*;
import com.qigao.mall.commons.enums.Result;

import java.util.List;

/**
 * @author luiz
 * @Title: com.qigao.mall.api
 * @ProjectName three-mall
 * @date 2019-11-2019/11/5 13:37
 * @Description:
 */
public interface OrderService {

    Result createOrder(OrderCreateDto orderCreateDto);

    Result<PageInfo<OrderResultDto>> findOrderByCond(OrderQueryDto orderQueryDto);

    Result<OrderResultDto> findOrderByNo(String orderNo);

    Result updateOrderStatus(OrderModiDto orderModiDto);

    Result updateMerOrder(OrderModiDto orderModiDto);

    Result updateOrder(OrderModiDto orderModiDto);

    Result<PageInfo<OrderResultDto>> findAllPayOrderList( OrderQueryDto orderQueryDto);

    void refreshOrderOverTime();

    void autoRecvOrder();

    Result<SaleMonthReportDto> findSaleReport(MonthReportDto monthReportDto);

    Result<OrderResultDto> findOrderByRecv(String orderRecv, String userNo);

    Result<OrderResultDto> findShopOrderByRecv(String orderRecv, String shopNo);

    Result<PageInfo<OrderResultDto>> findOrderByRecvUserNo(OrderQueryDto orderQueryDto);

    Result updateOrderStatusBatch(List<OrderModiDto> orderModiDtos);

    List<OrderResultDto> findOrderResultByCond(OrderQueryDto orderQueryDto);

    Result<PageInfo<OrderResultDto>> findOrderByInviteUserNo(OrderQueryDto orderQueryDto);
}
